home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d20 / msgq160s.arc / P2C.C < prev    next >
C/C++ Source or Header  |  1991-10-26  |  1KB  |  48 lines

  1. /*
  2.  * P2C.C - Pascal/C string conversion
  3.  *
  4.  * Msged/Q message editor for QuickBBS  Copyright 1990 by P.J. Muller
  5.  *
  6.  * This file adapted from QMsg by Stig Jacobsen
  7.  */
  8.  
  9. #include <string.h>
  10. #include "p2c.h"
  11.  
  12. /* --- Convert a pascal string to a C string -------------------------- */
  13.  
  14. void pascal p2c_str (register char *str) {
  15.  
  16.    register int c1;
  17.  
  18.    c1 = str[0];                     /* Save length */
  19.    memmove (str, &str[1], c1);      /* Copy data part */
  20.    str[c1] = '\0';                  /* Set length */
  21.  
  22. }  /* p2c_str */
  23.  
  24. void pascal p2c_strn(char *str, int n)
  25. {
  26.   int c1;
  27.  
  28.   c1 = (str[0] > n ? n : str[0]);
  29.   memmove (str, &str[1], c1);      /* Copy data part */
  30.   str[c1] = '\0';                  /* Set length */
  31.  
  32. } /* p2c_strn */
  33.  
  34. /* --- Convert a C string to a pascal string -------------------------- */
  35.  
  36. void pascal c2p_str (register char *str) {
  37.  
  38.    register int c1;
  39.  
  40.    c1 = strlen(str);                /* Save length */
  41.    memmove (&str[1], str, c1);      /* Copy data part */
  42.    str[0] = c1;                     /* Set the length */      
  43.  
  44. }  /* p2c_str */
  45.  
  46.  
  47. /* ----------------------- ### EOF ### -------------------------------- */
  48.